package cn.djb.day5;


import java.util.LinkedList;
import java.util.Queue;

/**
 * 在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。
 */
class Solution_3 {

    public char firstUniqChar(String s) {
        Queue<Character> queue = new LinkedList<>();
        for (char c : s.toCharArray()) {
            if (queue.contains(c)) {
                queue.remove(c);

            }
            queue.add(c);
        }
        if (queue.size() > 0) {
            return queue.peek();
        }
        return ' ';

    }

    public char firstUniqChar2(String s) {
        int[] arr = new int[26];
        char[] chars = s.toCharArray();
        for (char ch : chars){
            arr[ch -'a'] ++;
        }
        for (char c:chars){
            if (arr[c-'a'] == 1){
                return c;
            }
        }
        return ' ';
    }

}